package perucuy.domain;

public abstract  class Codigo implements java.io.Serializable/*,Comparable */ {
    protected String id;
    protected String nombre;
    static class _Codigo extends Codigo {
        
        
        /**
         *
         */
        private static final long serialVersionUID = -3293581481676530337L;
        
        public _Codigo(String id, String nombre) {
            this.id = id;
            this.nombre = nombre;
        }
        
        public int compareTo(Object o) {
            return 0;
        }
        
    }
    
    
    public static Codigo getInstance(String id, String nombre) {
        return new _Codigo(id, nombre);
    }
    
    public String getId() {
        return id;
    }
    
    public void setId(String id) {
        this.id = id;
    }
    
    public void setNombre(String nombre) {
        this.nombre = nombre;
    }
    
    public String getNombre() {
        return nombre;
    }
    
    public String toString() {
        return nombre;
    }
    
    public static Codigo getInstance(String id) {
        return getInstance(id, null);
    }
    
    public boolean equals(Object obj) {
        if (obj != null && obj instanceof Codigo &&
                obj.getClass().getName().equals(getClass().getName())) {
            Codigo o = (Codigo) obj;
            return o.id.equals(id);
            
        }
        return false;
    }
    
    public int hashCode() {
        return id.hashCode() * 100 + nombre.hashCode();
    }
/*
    public int compareTo(Object o) {
        return 0;
    }*/
}
